package xin.marcher.module.comment.service;

import xin.marcher.module.comment.domain.dto.AdditionalSkuCommentResultDTO;
import xin.marcher.module.comment.domain.dto.AuditResultDTO;
import xin.marcher.module.comment.domain.dto.CommentResultDTO;
import xin.marcher.module.comment.domain.dto.SkuCommentDTO;
import xin.marcher.module.comment.domain.request.*;
import xin.marcher.module.common.core.PageResult;

/**
 * 商品评价信息性Service
 */
public interface SkuCommentService {

    /**
     * 商品评价
     */
    CommentResultDTO saveComment(SkuCommentRequest request);

    /**
     * 商品追评
     */
    AdditionalSkuCommentResultDTO saveAddtionalComment(SkuAddtionalCommentRequst request);

    /**
     * 查询用户的商品评价列表
     */
    PageResult<SkuCommentDTO> listUserCommentPage(QueryUserCommentPageRequest request);

    /**
     * 查询商品的商品评价列表
     */
    PageResult<SkuCommentDTO> listSkuCommentPage(QuerySkuCommentPageRequest request);

    /**
     * 审核初评和追评
     */
    AuditResultDTO auditComment(AuditCommentRequest request);
}
